package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotEmpty;
import java.util.Date;

public class UDFormField extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 乐观锁 */
    private String id;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 逻辑名 */
    @Excel(name = "逻辑名")
    private String code;

    /** 字段类型 */
//    @NotEmpty(message = "字段类型不能为空")
    @Excel(name = "字段类型")
    private String fieldType;

    /** 表单编号 */
    @Excel(name = "表单编号")
    private String webPageId;

    /** 提示内容 */
    @Excel(name = "提示内容")
    private String promptContent;

    /** 是否展示 */
    @NotEmpty(message = "提示不能为空")
    @Excel(name = "是否展示")
    private Long isShow;

    /** 是否可查询 */
    @Excel(name = "是否可查询")
    private Long isQuery;

    private UDFormWebPage UDFormWebPage;

    public UDFormWebPage getUDFormWebPage() {
        return UDFormWebPage;
    }

    public void setUDFormWebPage(UDFormWebPage UDFormWebPage) {
        this.UDFormWebPage = UDFormWebPage;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }
    public void setUpdatedBy(String updatedBy)
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy()
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime)
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime()
    {
        return updatedTime;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setFieldType(String fieldType)
    {
        this.fieldType = fieldType;
    }

    public String getFieldType()
    {
        return fieldType;
    }
    public void setWebPageId(String webPageId)
    {
        this.webPageId = webPageId;
    }

    public String getWebPageId()
    {
        return webPageId;
    }
    public void setPromptContent(String promptContent)
    {
        this.promptContent = promptContent;
    }

    public String getPromptContent()
    {
        return promptContent;
    }
    public void setIsShow(Long isShow)
    {
        this.isShow = isShow;
    }

    public Long getIsShow()
    {
        return isShow;
    }
    public void setIsQuery(Long isQuery)
    {
        this.isQuery = isQuery;
    }

    public Long getIsQuery()
    {
        return isQuery;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createdBy", getCreatedBy())
                .append("createdTime", getCreatedTime())
                .append("updatedBy", getUpdatedBy())
                .append("updatedTime", getUpdatedTime())
                .append("name", getName())
                .append("code", getCode())
                .append("fieldType", getFieldType())
                .append("remark", getRemark())
                .append("webPageId", getWebPageId())
                .append("promptContent", getPromptContent())
                .append("isShow", getIsShow())
                .append("isQuery", getIsQuery())
                .toString();
    }
}
